1. Field of the Invention
This invention relates generally to data processing systems and, more particularly, to a method and apparatus for expanding the available memory for storage data in data processing systems in which the data memory unit and the program memory unit are separated.
2. Discussion of the Related Art
It is known to provide data processing units with separate program memory units and data memory units. This architecture, referred to as the Harvard Architecture, provides certain performance enhancements in that the instruction fetch operation and instruction execution operation can be conveniently performed in a sequence of sub-operations or referred to as pipelining.
It is also known in the art to provide a modification of the Harvard Architecture that provides a path from the data memory of the data processing system to the program memory unit. Special instructions can be added to the instruction set of the data processing system to permit the data processing system to make use of this data path. An example of such a data processing system is the Texas Instruments TMS 32010 microprocessor. In this data processing system, the special instruction for reading data from the program memory unit and to the data memory unit has the mnemonic TBLR, while the special instruction for the writing of data from the data memory unit into the program memory unit has the mnemonic TBLW. The feature of transferring data from the data memory unit to the program memory unit has proven to be very useful but suffers from the disadvantage that data signal groups stored in the program memory unit, when added to the signal groups forming the system program, are constrained by the size of the program memory, adding yet further limitations to the program size and flexibility.
A need has therefore been felt for a data processing system that is implemented with the Harvard Architecture, that can make use of the flexibility of special instructions for transfer of data signal groups between the program memory unit and the internal data memory unit without providing limitations on the program size.